const express=require("express");
const router=express.Router();
const fs=require("fs");
const path = require("path"); //系统路径模块

//查询
router.get("/findstu",(req,res)=>{
	  let file = path.join(__dirname, '../json/student.json');
	  fs.readFile(file, 'utf8',function(err,data){
	    if(err){
	      console.error(err);
	    }
	    var student = JSON.parse(data);
	    res.send(student)
	  })
})
//增加
router.post("/addstu",(req,res)=>{
	var params = {
	  "id":req.body.id,
	  "name":req.body.name,
	  "age":req.body.age,
	  "address":req.body.address,
	  "tel":req.body.tel
	}
	let file = path.join(__dirname, '../json/student.json');
	 //现将json文件读出来
	  fs.readFile(file,"utf8",function(err,data){
	    if(err){
	      return console.error(err);
	    }
	    var stu = data.toString();//将二进制的数据转换为字符串
	    stu = JSON.parse(data);//将字符串转换为json对象
	    stu.push(params);//将传来的对象push进数组对象中
	    var str = JSON.stringify(stu);//因为nodejs的写入文件只认识字符串或者二进制数，所以把json对象转换成字符串重新写入json文件中
		fs.writeFile(file,str,function(err){
	      if(err){
	        console.error(err);
	      }
	      res.send("success")
	    })
	  })
})
//删除
router.post("/delstu",(req,res)=>{
	const id=req.body.id
	let file = path.join(__dirname, '../json/student.json');
	fs.readFile(file,"utf8",function(err,data){
	    if(err){
	      return console.error(err);
	    }
	    var stu = data.toString();
	    stu = JSON.parse(data);
	    //把数据读出来删除
	    for(var i = 0; i < stu.length;i++){
	      if(id == stu[i].id){
	        stu.splice(i,1);
	      }
	    }
	    var str = JSON.stringify(stu);
	    //然后再把数据写进去
	    fs.writeFile(file,str,function(err){
	      if(err){
	        console.error(err);
	      }
	      res.send("success")
	    })
	  })
})
//修改
router.post("/updstu",(req,res)=>{
	const id=req.body.id;
	var params = {
	  "name":req.body.name,
	  "age":req.body.age,
	  "address":req.body.address,
	  "tel":req.body.tel
	}
	let file = path.join(__dirname, '../json/student.json');
	 fs.readFile(file,'utf8',function(err,data){
	    if(err){
	      console.error(err);
	    }
	    var stu = data.toString();
	    stu = JSON.parse(data);
	    //把数据读出来,然后进行修改
	    for(var i = 0; i < stu.length;i++){
	      if(id == stu[i].id){
	        for(var key in params){
	          if(stu[i][key]){
	            stu[i][key] = params[key];
	          }
	        }
	      }
	    }
	    var str = JSON.stringify(stu);
	    fs.writeFile(file,str,function(err){
	      if(err){
	        console.error(err);
	      }
	      res.send("success")
	    })
	  })
})
module.exports=router;